/*****************************************************************
 Jorge Lainfiesta                Carné 11142
 Rodrigo Medrano                 Carné 11222
 Luis Fernando Valdeavellano     Carné 11218
 Sección 21
 
 Recursos.java
 Clase que contendrá los recursos pre-cargados del sistema.
*****************************************************************/
import java.util.ArrayList;

public class Recursos{
   private ArrayList<Aeropuerto> aeropuertos;
   private ArrayList<Aerolinea> aerolineas;
   private ArrayList<Vuelo> vuelos;

   //Constructor. Inicializa las listas y les asigna datos quemados.
   public Recursos(){
       aeropuertos = new ArrayList();
       aerolineas = new ArrayList();
       vuelos = new ArrayList();

       Aeropuerto a1 = new Aeropuerto("La Aurora", "Guatemala", true);

       //----Asignando aerolineas
       
       Aerolinea taca = new Aerolinea("Taca"); //Declaramos aerolinea

       //Le asignamos staff...

       Persona generica = new Persona();

       generica = new Persona("Stalin", "Piloto");
       taca.getPilotos().add(generica);
       
       taca.getPilotos().add(new Persona("Hitler", "Piloto"));
       taca.getAeromosas().add(new Persona("Wicho", "Aeromosa"));
       taca.getAeromosas().add(new Persona("Pelos", "Aeromosa"));
       taca.getAeromosas().add(new Persona("Lainfi", "Aeromosa"));
       taca.getAdministrativos().add(new Persona("Alberto", "Administrativo"));

       //Le asignamos aviones...
       taca.getFlotillaAviones().add(new Avion("Ranger114", true, 25,58,60));
       taca.getFlotillaAviones().add(new Avion("Jabali49", false, 0,4,14));

       //Asignamos la aerolínea a un aeropuerto
       a1.getLineasAereas().add(taca);
       //Guardamos el aeropuerto en el Array
       aeropuertos.add(a1);

       //Ahora ya que le asignamos todas las cosas a la aerolinea, la agregamos a la lista de este objeto
       aerolineas.add(taca);
       
       Aerolinea iberia = new Aerolinea("Iberia"); //Declaramos aerolinea

       //Le asignamos staff...
       generica = new Persona("Franco", "Piloto");
       iberia.getPilotos().add(generica);
       
       iberia.getPilotos().add(new Persona("Picaso", "Piloto"));
       iberia.getAeromosas().add(new Persona("Arturo", "Aeromosa"));
       iberia.getAeromosas().add(new Persona("Rosario", "Aeromosa"));
       iberia.getAdministrativos().add(new Persona("Jose Jose", "Administrativo"));

       //Le asignamos aviones...
       iberia.getFlotillaAviones().add(new Avion("Boeing707", true, 16,48,74));
       iberia.getFlotillaAviones().add(new Avion("Jetstream41", true, 6,8,0));

       //Asignamos la aerolínea a un aeropuerto
       a1.getLineasAereas().add(iberia);

       //Ahora ya que le asignamos todas las cosas a la aerolinea, la agregamos a la lista de este objeto
       aerolineas.add(iberia);

       //Podríamos volver a usasr la misma variable para no declarar más nombres
       a1 = new Aeropuerto("Barajas", "Madrid", true);
       a1.getLineasAereas().add(iberia);//Le asignamos Iberia
       aeropuertos.add(a1);
       
       
       a1 = new Aeropuerto("Mundo Maya", "Guatemala", false);
       a1.getLineasAereas().add(taca);//Le asignamos Taca
       aeropuertos.add(a1);
       
       
       a1 = new Aeropuerto("Heathrow", "Londres", true);
       a1.getLineasAereas().add(iberia);//Le asignamos Iberia
       aeropuertos.add(a1);
       

       //--Algunos vuelos
       //Vuelo vuelo = new Vuelo();
       

   }

    /**
     * @return the aeropuertos
     */
    public ArrayList<Aeropuerto> getAeropuertos() {
        return aeropuertos;
    }

    /**
     * @return the aerolineas
     */
    public ArrayList<Aerolinea> getAerolineas() {
        return aerolineas;
    }

    /**
     * @return the vuelos
     */
    public ArrayList<Vuelo> getVuelos() {
        return vuelos;
    }

    /**
   public void cargarRecursos(){
      //Ahora usaremos datos quemados en el programa, luego estos arrays vendrán de archivos
      String nombresPersonas[][] = {{"María","Piloto", "Taca"}, {"Juan","Piloto", "FlyUVG"}, {"Pedro", "Administrativo", "FlyUVG"}, {"Olga", "Aeromosa", "AA"}};
      String nombresAerolineas[] = {"Taca", "FlyUVG", "AA"};

      //Cremos las aerolíneas
      for(int i = 0; i<nombresAerolineas.length; i++){
          Aerolinea linea = new Aerolinea(nombresAerolineas[i]);
          aerolineas.add(linea);
      }

      //Creamos las personas y las asignamos a su aerolinea
      for(int i = 0; i<nombresPersonas.length; i++){
          Persona empleado = new Persona(nombresPersonas[i][0], nombresPersonas[i][1]);
          personas.add(empleado);
          int esteEmpleado = personas.indexOf(empleado);

          Aerolinea dummy = new Aerolinea(nombresPersonas[i][2]); //Aerolinea para probar si existe
          int indiceAerolinea = aerolineas.indexOf(dummy);

          //System.out.println("\n"+aerolineas.get(1).equals(dummy));
          System.out.println(aerolineas.get(1).getNombre());
          //System.out.println(dummy.getNombre());
          //System.out.println(indiceAerolinea);

          if(indiceAerolinea != -1){
              String cargo = empleado.getCargo();
              if(cargo.equals("Piloto")){
                  aerolineas.get(indiceAerolinea).addPiloto(personas.get(esteEmpleado));
              }
              //Si es administrativo
              if(cargo.equals("Administrativo")){
                  aerolineas.get(indiceAerolinea).addAdministrativo(empleado);
              }
              //Si es Aeromosa
              if(cargo.equals("Aeromosa")){
                  aerolineas.get(indiceAerolinea).addAeromosa(empleado);
              }
          }
      }

      for(Aerolinea test: aerolineas){
          Persona piloto = test.getPilotos().get(0);
      }
      
   }
     * */

}